package com.tom.joke.activity.selectimg;

import android.content.Context;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

import com.bumptech.glide.Glide;
import com.tom.joke.R;

import java.util.ArrayList;
import java.util.List;

import androidx.recyclerview.widget.RecyclerView;

/**
 * 选择图片适配器，显示预览图，显示选中的状态。
 */
public class SelectImageListAdapter /*extends CommonRecyclerAdapter<String>*/ {
    private ArrayList<String> mResultImageList; // 选中的列表
    private int mMaxCount;

    public SelectImageListAdapter(Context context, List<String> data, ArrayList<String> imgList, int maxCount) {
//        super(context, data, R.layout.media_chooser_item);
        this.mResultImageList = imgList;
        this.mMaxCount = maxCount;
    }

   /* @Override
    public void convert(RecyclerView.ViewHolder holder, String item) {
        if (TextUtils.isEmpty(item)) {
            // 显示拍照
            holder.setViewVisibility(R.id.camera_ll, View.VISIBLE);
            holder.setViewVisibility(R.id.media_select_indicator, View.INVISIBLE);
            holder.setViewVisibility(R.id.image, View.INVISIBLE);

            holder.setOnItemClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // 调用拍照，6.0+要处理动态权限 easyPermission,RxPermission
                    // 权限处理框架 http://www.jianshu.com/p/823360bb183f

                }
            });
        } else {
            // 显示图片。
            holder.setViewVisibility(R.id.camera_ll, View.INVISIBLE);
            holder.setViewVisibility(R.id.media_select_indicator, View.VISIBLE);
            holder.setViewVisibility(R.id.image, View.VISIBLE);
            // 利用Glide 显示图片。
            ImageView imageView = holder.getView(R.id.image);
            Glide.with(mContext).load(item).centerCrop().into(imageView);

            ImageView imgIndicator = holder.getView(R.id.media_select_indicator);
            if (mResultImageList.contains(item)) {
                imgIndicator.setSelected(true); // 选中
            } else {
                imgIndicator.setSelected(false);
            }
            // 给item 增加点击事件
            holder.setOnItemClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // 添加进集合 mResultList，或从集合移除。
                    if (!mResultImageList.contains(item)) {
                        // 不能大于最大的张数。
                        if (mResultImageList.size() >= mMaxCount) {
                            Toast.makeText(mContext, "最多只能选择张数：" + mMaxCount, Toast.LENGTH_SHORT).show();
                            return;
                        }
                        mResultImageList.add(item);
                    } else {
                        mResultImageList.remove(item);
                    }
                    notifyDataSetChanged(); // 刷新列表
                    // 通知显示布局
                    if (mSelectImgListener != null) {
                        mSelectImgListener.select();
                    }
                }
            });
        }
    }
*/
    // 选择图片监听
    private SelectImgListener mSelectImgListener;

    public void setOnSelectImgListener(SelectImgListener listener) {
        this.mSelectImgListener = listener;
    }


}
